//#include<stdio.h>
//unsigned int  my_strlen(const char* s)
//{
//	int count = 0;
//	while (*s++)
//	{
//		count++;
//	}
//	return count;
//}
//
//
//int main()
//{
//	char s[] = "asdfg";
//	unsigned int x = my_strlen(s);
//	printf("%u", x);
//	return 0;
//}   //strlen


//#include<stdio.h>
//
//char* my_strcpy(char* arr1,const char* arr2)
//{
//	while (arr2 ? *arr1++ = *arr2++: 0)
//	{
//		;
//	}
//	return arr1;
//}
//
//
//int main()
//{
//	char arr1[20] = "0";
//	char arr2[] = "hello bit";
//
//	my_strcpy(arr1, arr2);
//
//	printf("%s", arr1);
//	return 0;
//}                           //strcpy

//#include<stdio.h>
//
//int my_strcmp(const char* arr1, const char* arr2)
//{
//	while (*arr1 == *arr2)
//	{
//		arr1++;
//		arr2++;
//		if (*arr1 == '\0')
//		{
//			return 0;
//		}
//	}
//	return *arr1 - *arr2;
//}
//
//
//int main()
//{
//	char arr1[] = "hello bit";
//	char arr2[] = "hello teacher";
//	int ret = my_strcmp(arr1, arr2);
//
//	if (ret == 0)
//		printf("arr1=arr2");
//	if (ret < 0)
//		printf("arr1<arr2");
//	if (ret > 0)
//		printf("arr1>arr2");
//
//	return 0;             //strcmp
//}

//#include<stdio.h>
//
//char* my_strcat(char* arr1, const char* arr2)
//{
//	char* dest = arr1;
//	while (*arr1)
//	{
//		arr1++;
//	}
//	while (*arr2)
//	{
//		*arr1++ = *arr2++;
//	}
//	return dest;
//}
//
//int main()
//{
//	char arr1[20] = "hello ";
//	char arr2[] = "bit ";
//
//	char*a=my_strcat(arr1, arr2);
//
//	printf("%s", a);
//
//	return 0;
//}                                    //strcat
//

//#include<stdio.h>
//
//char* my_strstr(const char* arr1, const char* arr2)
//{
//	while (*arr1)
//	{
//		char* s1 = arr1;
//		char* s2 = arr2;
//		while (*s1 && *s2 && *s1 == *s2)
//		{
//			s1++;
//			s2++;
//		}
//		if (*s2 == '\0')
//			return arr1;
//		arr1++;
//	}
//	return NULL;
//}
//int main()
//{
//	char arr1[20] = "hello bit";
//	char arr2[20] = "lo";
//	char* ret = my_strstr(arr1, arr2);
//	printf("%s", ret);
//	return 0;
//}                                              //strstr

//#define _CRT_SECURE_NO_WARNINGS
//#include<stdio.h>
//
//int main()
//{
//	int arr[50] = { 0 };
//	int n = 0;
//	int x = 0;
//	int y = 0;
//
//	scanf("%d", &n);
//	for (int i = 0; i < n; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//
//	for (int i = 0; i < n - 1 ; i++)
//	{
//		if (arr[i] >= arr[i + 1])
//			x = 1;
//		if (arr[i] < arr[i + 1])
//			y = 1;
//	}
//
//	if (x && y)
//		printf("unsorted");
//	else
//		printf("sorted");
//
//	return 0;
//}
//


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int a[10000] = { 0 };
	int n = 0;
	int max = 0; 
	int min = 100;

	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &a[i]);
	}

	for (int i = 0; i < n; i++)
	{
		if (a[i] > max)
			max = a[i];
		if (a[i] < min)
			min = a[i];
	}

	int ret = max - min;
	printf("%d", ret);
	return 0;
}